home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
vdl020d.zip
/
README.1ST
< prev
next >
Wrap
Text File
|
1993-04-16
|
20KB
|
537 lines
─────────────────────────────────────────────────────────────────
Visionix Developers Libraries (VDL)
Release 0.20 BETA
April 14, 1993
Copyright 1991-1993 Visionix
ALL RIGHTS RESERVED
─────────────────────────────────────────────────────────────────
Visionix is a trademark of Visionix.
Visionix Developers Libraries and VDL are trademarks of Visionix.
VIOPRO is a trademark of Visionix.
ABOUT VDL
─────────────────────────────────────────────────────────────────
The Visionix Developers Libraries (VDL) are a collection of
libraries designed to make software development easier for
Turbo/Borland Pascal programmers. Years of experience has been
put into this design. With but few exceptions, this product
steps beyond the majority of pascal libraries, providing the most
needed functions which programmers ask for - to be used as a case
tool for applications and systems design.
Beta 0.20 is a test release only - please note that the libraries
are still under construction and that the naming conventions and
the like are not settled upon. We feel these functions are
relatively stable, but we do not intend for this version to be
used commercially. So, if you do use this version, keep in mind
some things may change between here and the final release.
It is our hope that anyone who reviews or uses these libraries
will send us a note on what they thought was wrong or right about
them.
We are not at all against making changes or adding code just
because we didn't think about this. Also, if you have some of
your own libraries that you have found valuable, and if you are
interested in distributing them with VDL, let us know -- We're
sure we can come up with an arrangement.
SEND ALL COMMENTS TO:
---------------------
US-Mail: Fido-Mail:
Visionix User: Visionix
1240 Golfview St Node: 1:363/111
Orlando, Fl 32804 SCSI Resource BBS
407-862-4724
USR Dual Standard
A NOTE ON VDL FILENAMES:
------------------------
VDL020D.ZIP - VDL documentation files.
VDL020U6.ZIP - VDL units for TP 6.0 (TPUs).
VDL020U7.ZIP - VDL units for TP/BP 7.0 (TPUs and TPPs).
ABOUT THE TPUs
--------------
All the VDL TPUs start with the letter "V".
It should be noted that the TPU zip file contains a few TPU files
that don't start with "V". The Non-"V" TPUs are only temporarily
included with this release, and will be removed or renamed in the
final VDL release.
The protected mode version of the units (TPPs) are not available
for this BETA release.
ABOUT THE DOCUMENTATION:
------------------------
Please pardon our dust as the documentation is not complete at
this time, but is progressing steadily.
The VDLxxxd.zip file contains the current documentation. This
file has one ????????.DOC file for each VDL unit. The DOC file
contains the complete INTERFACE section of the unit, and a
description of each function.
ABOUT THE PRODUCT:
------------------
The Shareware version:
The ASCII documentation and TPU/TPP files will be distributed as
shareware. Since this is a BETA version of VDL, we are not
interested in distributing it too much -- yet. If you found the
VDL files or someone gave them to you, well great. Use them all
you want. We wouldn't necessarily upload it to any other BBSs
yet though. Some people get confused about exactly what a BETA
release is, and we'd hate to see someone develop code around the
BETA release, and then have all the function names change.
Registration of the final shareware release will be between $50-
$200. We haven't decided yet (Opinions are more than welcome
--since we think this is the best developers kit, we are looking
to continue to update it - so we'd like to make some money so we
can keep doing this!) Because 400,000 copies of VDL will never
get paid for ;-) But hey, at least the fun people pay.
Registration of the shareware version will get you a copy of the
commercial version of the libraries.
The Commercial version:
The commercial version is going to be advertised way in the back
of Dr. Dobbs and other programmer oriented magazines, releasing
with Borland support libraries, and many other "over-the-counter"
methods. The commercial version will include high-tech, printed,
cute-looking, graphical, multi-font, Pagemaker created
documentation in either 3-ring binders or actual books.
The commercial version will also include the full VDL source
code, technical support, and the right to have upgrades mailed to
you as soon as they are available. The registered shareware
version and the commercial version are in all other regards
identical.
The commercial version will cost the same as the shareware
registered version: between $50-$200.
INTRODUCTION
─────────────────────────────────────────────────────────────────
The Visionix Developers Libraries fall into 7 categories:
General
Console I/O
User Interface
Memory
Devices
File System
O/S Specific
The following is a brief description of the VDL libraries. In
this description, a "?" before a file name indicates that the
specific library may not be in the VDL 1.0 release, and a "*"
before the file name indicates that it almost certainly will not
be in the 1.0 release, but is under development.
General Libraries
=================
VALARM Internal alarm clock functions for timers, events, and
multi-purpose timer-tick functions.
VAPM Advanced Power Management functions for laptop systems
which will report on power consumption and power
expediency.
VATM Assign To Memory; A Turbo Pascal Text File Device
Driver (TFDD) that writes its output to memory. Great
for building screen displays or WView scrolling
displays.
VBIOS Multiple routines to get information out of RAM and
ROM-BIOS.
VDATES Time and Date functions; Julian, Gregorian and
DateTime.
VDOSHIGH Extra functions for DOS calls.
VEQUIP Equipment information unit; reports info about
parallel ports and serial ports, floppy drives, bios
name/date, math coprocessor and game-port; info on the
primary and alternate consoles; and more.
VGEN General functions; search and replace, buffer compares,
int, word, longint, byte, and pointer to hex-string
conversions and vise-versa; padding, trimming, and
string filling; ASCIIZ/String (C/PASCAL string)
conversion, and too much more to mention.
VMATH Included are trigonometric, statistic, algebra, and
calculus functions.
VMULTI MultiProc unit; for non-preemptive calling of "multi-
procedures" which can do things like on-screen clock,
"background" printing, etc.
VPROC Sets up an easy "ExitProc" Stack, where you can push
and pop procedures onto. Great for non-messy exits
that deallocates and resets memory, for example.
VRESFILE Resource file; holds int, text, dialog, color & menu
info in a "????????.VRF" file; program can ask for
information from the resource file at run time. Put
all the text of your program here, and its easy to
convert your software to other languages, without
recompiling. Many other uses.
VTYPES All the types and constants for the VDL libraries in
one central file. No more hunting all over the system
for constants, flags, or error codes.
Console Libraries
=================
The Visionix Console I/O libraries allow for the creation of
input and output "channels" to which 1 or more console drivers
can be attached. As an example, the included VCRT unit has a VIN
driver for the keyboard and a VOUT driver for the CGA, EGA, VGA,
and hercules text-mode screen. The VCRT unit automatically
creates one "CRT input" channel to which it puts its keyboard
driver, and one "CRT output" channel to which it puts its
text-mode screen driver. By calling the appropriate VIN and VOUT
functions when its Turbo Pascal CRT emulation routines are
called, VCRT then serves as a full-functions Turbo Pascal CRT
replacement unit, with the added advantage that your program can
add its own input or output drivers to the CRT channels, allowing
you to replace, redirect, or add to VCRTs output. For example,
you could add a driver to the CRT output channel which sent ANSI
sequences over a serial port, thereby allowing you to write a
BBS-door that used STANDARD CRT function calls! Much to
functional to fully explain here; for more info, check out the
manual (when available).
VIN Channel management library for input consoles.
VOUT Channel management library for output consoles.
VCRT Turbo Pascal CRT replacement unit; works through
VIN/VOUT.
?VCRTFAST CRT replacement unit--direct to video; FAST and
efficient.
?VANSI ANSI functions library and VOUT/VIN drivers for ANSI.
?VAVATAR AVATAR functions library and VOUT/VIN drivers for
AVATAR.
?VIOPRO VIOPRO functions library and VOUT/VIN drivers for
VIOPRO (VIOPRO=Visual I/O PROtocol, a collection of
extensions to AVATAR we have come up with to allow for
BBS based "graphical" user interface with windows,
dialog boxes, etc).
*VTERMCAP Unix TERMCAP functions library and VOUT/VIN drivers for
TERMCAP supported terminals.
VCOLOR Color & Color Palette management.
*VPOINT Library for pointer devices.
VFONT EGA/VGA Font Manipulation Unit. Create your own fonts
and bitmap them into usable icons.
User Interface Libraries
========================
The Visionix User Interface (VUI) libraries are a complete set of
user interface libraries, including support for windows, push-
buttons, radio buttons, check boxes, pick-lists, formatted text,
integer, hex and "mask" based input, dialog boxes, fixed and
scrolling menus, scrollable "view" windows, form-based input,
full mouse support, and more.
The VUI libraries:
o Supports all VGA/EGA/CGA/Hercules text modes.
o not event driven or object oriented (admittedly, this may be
as much of a disadvantage as an advantage).
o easy to use, quick to get up and running.
o variety of "looks", including norton utils PC-TOOLS
redefined text character "graphics look", and several other
clean and efficient "looks".
Additionally, three "frameworks" or templates are supplied to
allow you to develop VUI applications quickly. These
"frameworks" include:
o Visionix Action Object framework (VAOFrame).
o Visionix Modal-Menu (VMMFrame).
o Visionix Drop-Down menu framework (VDDFrame).
VWINLOW Window creation and management library.
VWINHIGH High-level window functions: Dialog boxes, menus etc.
VFORM Form creation and control library.
VACTWIN "Action Window" library.
VHELP ASCII file-based, indexed help system. Allows you to
create ASCII help files using a simple "help language"
that lets you define help screens with buttons that can
have GOSUB or GOTO connections to other help screens.
?VWFSBOX Window File Selection box that allows a user to pick
a file from a list of files. Like the standard file
open/close dialog boxes in windows.
Memory Access & Management Libraries
====================================
The Visionix Memory Access & Management libraries support the
creation and usage of multiple "heaps" which can be based in
"DOS" (below 1mb) memory, EMS, XMS, or paged in from disk. After
a heap has been created, the caller can allocate or deallocate
memory from the heap. This BETA release only supports usage of
normal DOS memory, and doesn't have multiple heap support.
VMEM Memory/Heap management library, supports variety of
memory methods.
VEMS DOS/EMS library.
VXMS DOS/XMS library.
Operating Environment Specific Libraries
========================================
The Visionix Operating Environment Specific Libraries provide
functions that interface with functions that are specific to a
given operating environment (DOS and OS/2 DOS boxes in this case)
VVDS Virtual DMA Services library.
VDPMI DOS Protected Mode Interface library.
Device Access & Management Libraries
====================================
Serial Channel Libraries
------------------------
The Serial Channel Libraries allow for the creation of serial
communication channels, to which a single serial driver can be
added. This architecture allows us to present a single serial
programming interface which will work on a variety of serial
communication uarts or drivers.
VSER Serial channel management library.
VSERLOW Serial channel common data and methods defined.
*VSERHI High-level serial library; zmodem, terminal, etc.
VFOS Serial channel driver for the FOSSIL (Fido, Opus,
Seadog interface library) INT 14 based serial
interface.
*VUART Serial channel driver for the 8250, 16450 and 16550
serial controller UARTs; fully interrupt driven code.
Takes advantage of 16550s on-board FIFOs for enhanced
performance in multi-tasking environments.
*VNETI14 Serial channel driver for networked "shared" modems,
allows for usage of modems which are not connected
to a machines local serial ports.
*VDIGIBRD Serial channel driver for DigiBoard multi-port serial
controllers and compatible.
*VSTRGATE Serial channel driver for StarGate multi-port serial
controller and compatible.
MIDI Libraries
--------------
THIS LIBRARY IS NOT LIKELY TO BE INCLUDED IN THE VDL 1.0 RELEASE.
The Visionix MIDI communications library allows for full access
and control of any MPU-401 compatible midi controller, as well as
Windows 3.1 and Windows NT compliant drivers.
*VMIDI MIDI communications library.
*VMIDIHIGH High-level MIDI library; Play notes, SysEx dump,
MIDI standard Sample dump, MIDI standard file
transfers, etc.
SCSI Libraries
--------------
The Visionix SCSI libraries allow for full access and control of
any SCSI device, including (but not limited to) Disk, Removable
Disk, Magneto Optical, Tape, Printer, Scanner, and Network
controller.
The Visionix SCSI abstraction library allows your program to run
on any host adapter that supports the ASPI, CAM, SDLP, HACMAN, or
SyQuest Software Utility Interface programming interfaces. Simple
functions allow you to execute any SCSI Command Descriptor Block
(CDB) without learning all the complicated details of your host
adapter or SCSI software manager. Additionally, the SCSI
Abstraction Library-HIGH (VSALHIGH) library implements a function
for every SCSI-2 command, so you don't even have to build the
CDBs yourself.
VSAL SCSI Abstraction library, supports variety of SCSI
execution methods.
VASPI ASPI functions library.
?VSDLP SDLP functions library that uses an SDLP BIOS or
implements all SDLP functions locally.
?VHACMAN HAC (host adapter channel) Manager functions library.
*VCAM CAM functions library.
VSALHIGH High-level SCSI functions; SCSI-2 command set, disk,
cd-rom, tape, worm, processor, printer, etc.
CD-ROM Interface libraries
--------------------------
The Visionix CD-ROM interface library allows you to access and
control any Microsoft CD-ROM Extensions (MSCDEX) compatible
CD-ROM drive. The library supplies easy to use functions to play
audio tracks, minute:second regions, block regions; read
"Q-Channel" (or play time) information, read track indexes, pause
drives, eject disks, and more.
?VCDROM Generic CD-ROM interface library. Uses VMSCDEX or
VSCSICD.
VMSCDEX Microsoft CD-ROM Extensions interface library.
?VSCSICD Direct SCSI CD-ROM library that does not require
MSCDEX.EXE. Works on NEC, Chinon, Denon, Toshiba,
Sony, Texel, Hitachi, and SKC SCSI CD-ROM drives.
Disk Interface libraries
------------------------
*VDISK Direct-access/DISK device library.
*VINT13 Interrupt 13 disk library.
Sequential Access (TAPE) interface libraries
--------------------------------------------
*VTAPE Sequential-access/Tape device library. Supports
buffered reads and writes, filemarks, setmarks, and
more.
*VCPIO Unix copy in/out (CPIO) file functions.
Network communications libraries
--------------------------------
*VPIPES Inter-process and inter-node communications library.
File System Libraries
======================
VCOPY Intelligent file-copying unit. Great for install
programs, xcopy replacements, etc. Supports wildcards,
file-lists, move operations, date/time ranges,
attributes, and more. Many useful functions within one
function call.
*VDOS Turbo Pascal DOS replacement library. Performs I/O
via DOS calls or via VFAT or VMACFS, allowing direct
access to FAT or MAC filesystems.
?VFDISK FDISK Partitioning library.
?VSDPS SDPS Partitioning library.
?VFAT Direct FAT file-system manipulation library; provides
access to FAT filesystems without going through DOS.
*VMACFS MACintosh file system library (similar to VFAT, but
works on media formatted with the MAC filesystem).
Demo programs included with VDL
===============================
VISTERM A Simple ANSI terminal program. Uses VDL serial
libraries, VDL user interface libraries, general
functions, etc.
VISCAL A Simple Calendar program. Uses VDL data/time
libraries.
VDLMAN Visionix Developers Libraries Manual manipulation
program.
VISMENU A Simple DOS menu program.
VISSCSI A Simple SCSI CDB execution program. Uses VDL SCSI
VDL SCSI libraries.
VISXCOPY A XCOPY replacement program. Uses VCOPY.
VISPLAY A Simple CD-ROM audio control panel: Play, stop,
pause, track skip, etc. Uses VDL CD-ROM audio
libraries.
INSTALL A simple, generic install program.
FINAL COMMENTS
─────────────────────────────────────────────────────────────────
C++ is dominating the market as the standard for programming, but
this does not mean it is the best language. Borland has been
attempting to create a language of their own which has no limits
or committees designating what they can or can not do. This is
Turbo Pascal - a language with small beginnings, but is quickly
becoming a dominating force in the programming world.
With ever more APIs and programmers coming into the world,
standardization is harder than ever. So, with new committees and
standards becoming commonplace, true genius and expression has
been inversely declining. How does one begin with a new concept
and exploit it when everyone is yelling stop?
Never forget the whole concept of the personal computer and its
roots - individual control and power - not networked, organized,
and governed isolationism. This might sound old-fashioned
"hackerism", but there is much truth in it. Too much government
will stall this great and open industry - and it is to the
programmers of today and tomorrow to be without limits. Our hats
goes off to Borland.